/**
 * 
 */
package ar.utn.frgp.banco.entity;

import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * @author gvolpe
 * @since 18/04/2012 13:59:49
 */
@Entity
@Table(name="CLIENTES")
public class Cliente {

	@Id
	@Column(name="DNI",nullable=false,length=8)
	private String dni;
	
	@Column(name="NOMBRE",nullable=false,length=32)
	private String nombre;
	
	@Column(name="APELLIDO",nullable=false,length=32)
	private String apellido;
	
	@Column(name="DIRECCION",nullable=false,length=40)
	private String direccion;
	
	@Column(name="EMAIL",length=40)
	private String mail;
	
	@Column(name="CLAVE",nullable=false,length=8)
	private String clave;

	@OneToMany(fetch=FetchType.LAZY,cascade=CascadeType.ALL)
	@JoinColumn(name="DNI")
	private List<Cuenta> cuentas;
	
//	/**
//	 * @return the prestamo
//	 */
//	public Prestamo getPrestamo() {
//		return prestamo;
//	}

//	/**
//	 * @param prestamo the prestamo to set
//	 */
//	public void setPrestamo(Prestamo prestamo) {
//		this.prestamo = prestamo;
//	}

	public String getDni() {
		return dni;
	}

	public void setDni(String dni) {
		this.dni = dni;
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public String getApellido() {
		return apellido;
	}

	public void setApellido(String apellido) {
		this.apellido = apellido;
	}
	

	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}

	public String getDireccion() {
		return direccion;
	}

	public void setMail(String email) {
		this.mail = email;
	}

	public String getMail() {
		return mail;
	}

	public String getNombreCompleto() {
		return nombre + " " + apellido;
	}


	/**
	 * @return the cuentas
	 */
	public List<Cuenta> getCuentas() {
		return cuentas;
	}

	/**
	 * @param cuentas the cuentas to set
	 */
	public void setCuentas(List<Cuenta> cuentas) {
		this.cuentas = cuentas;
	}

	public String getClave() {
		return clave;
	}

	public void setClave(String clave) {
		this.clave = clave;
	}

}
